var express = require('express');
var router = express.Router();

var moment = require("moment")
var {aesDecrypt,checkSession} = require('../utils')
var {MovieModel} = require("../utils/model")
// express 里面的路由配置  
// 根据 不同的 url 匹配对应的路由模块  加载对应的数据和页面 


// get  get 请求 
// req  请求 request
// res  响应 response
// next 进入下一个中间件 
// res.render 渲染模块 
// title  渲染模板里面的变量  

/* GET home page. */
router.get('/', function(req, res, next) {

  console.log(req.session)
  res.render('index', { 
    title: '超管系统' ,
    msg:"node so easy",

    word:"天道酬勤",
    one:"Are you OK",
    tag:"<h2>今日热点新闻</h2>",
    username:req.session.username,
    phone:req.session.phone,
    loginTime:req.session.loginTime,
    list:["小薇薇","小红英","小王子","小雷雷","小左左"]
  });
});


router.get("/aboutus",(req,res)=>{
  if(req.session.username){
    res.render("about",{
      username:req.session.username
    })
  }else{
    res.send(`<script>alert('session已经过期了,请重新登录.');location.href='/login' </script>`)
  }
})

router.get('/my',(req,res)=>{
  if(req.session.username){
    res.render("my",{
      username:req.session.username
    })
  }else{
    res.send(`<script>alert('session已经过期了,请重新登录.');location.href='/login' </script>`)
  }
})

router.get("/register",(req,res)=>{
  res.render("register")
})

router.get("/login",(req,res)=>{
  // error 
   var username = req.query.username ? aesDecrypt(req.query.username) : ''
   res.render("login",{username}) 
})

// 注销
router.get('/logout',(req,res)=>{
    req.session.destroy(()=>{
       res.redirect("/")
    })
})


// 电影列表
router.get("/movie",(req,res)=>{
  checkSession(req,res,username=>{

    var query = req.query;
    console.log(query)
    var sortobj = {}
    var obj = {}
    if(query.keyword){
      // 搜索
      obj = {
        $or:[
          {
            title:new RegExp(query.keyword)
          },
          {
            year:new RegExp(query.keyword)
          },
          {
            'rating.average':new RegExp(query.keyword*1)
          }
        ]
      }
    }else{
      sortobj = query;
    }
    MovieModel.find(obj,{_id:0})
    .sort(sortobj)
    .then(result=>{
      // console.log(result)
      res.render("movie",{username,result})
    })
  })
})

































router.get("/test",(req,res)=>{
    res.send("<h4>test -test - 测试路由...</h4>")
})

router.get("/demo",(req,res)=>{
   res.send("demo-demo-demo")
})


// 参数  
// :   ?     
// :   动态路由参数  

// req.params   ?  表示参数可以为空 req.params.gid 
router.get("/goods/:gid?",(req,res)=>{
    res.json({
      msg:"获取商品成功",
      result:null,
      params:req.params 
    })
})  

router.get("/userinfo",(req,res)=>{
  res.json({
     msg:"获取用户信息成功",
     url:req.url,
     query:req.query,  // 获取 查询参数 
     path:req.path,
     headers:req.headers  // 请求头
  })
})


router.all("/allreq",(req,res)=>{
    res.send("表示这个接口 可以 post && get")
})


router.post("/postdata",(req,res)=>{
  // res.send("post 数据提交成功...")
  res.json({
    msg:"post 数据提交成功...",
    body:req.body,
    query:req.query
  })
})
module.exports = router;
